#ifndef __LVGL_UI_H
#define __LVGL_UI_H

#include "lvgl.h"

// 电机控制界面函数声明
void motor_control_ui_init(void);
void update_motor_speed_display(int32_t speed);
void update_preset_speed_display(int32_t speed);
void check_and_update_actual_speed(void);


// 数字键盘弹窗函数声明
void show_number_keyboard_popup(void);
void close_number_keyboard_popup(void);

// 控件对象声明
extern lv_obj_t *speed_meter;              // 速度仪表盘
extern lv_obj_t *speed_label;              // 速度数值显示
extern lv_obj_t *preset_speed_label;       // 预设速度数值显示
extern lv_obj_t *preset_speed_input;       // 预设速度输入框
extern lv_obj_t *speed_slider;             // 速度滑块
extern lv_obj_t *start_btn;                // 启动按钮
extern lv_obj_t *stop_btn;                 // 停止按钮  
extern lv_obj_t *reverse_btn;              // 反转按钮

// 数字键盘弹窗对象声明
extern lv_obj_t *keyboard_popup;           // 键盘弹窗容器
extern lv_obj_t *keyboard_bg;              // 弹窗背景
extern lv_obj_t *keyboard;                 // 数字键盘
extern lv_obj_t *keyboard_input_display;   // 键盘输入显示区域

// 电机状态变量
extern int32_t current_speed;              // 当前实际速度
extern int32_t preset_speed;               // 预设速度
extern uint8_t motor_running;              // 电机运行状态
extern uint8_t motor_direction;            // 电机方向 0:正转 1:反转

#endif
